home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "tk.h"
- #include "tkprivate.h"
-
- #define MAX_CURSOR 32
-
- typedef struct cursorRec {
- GLint id;
- Cursor cursor;
- } cursorRec;
-
- static int cursor_num = 0;
- static cursorRec cursors[MAX_CURSOR];
-
- void tkNewCursor(GLint id, GLubyte *shapeBuf, GLubyte *maskBuf, GLenum fgColor,
- GLenum bgColor, GLint hotX, GLint hotY)
- {
- int i;
-
- if(cursor_num == MAX_CURSOR-1) return;
-
- cursors[cursor_num].id = id;
-
- for (i = 0; i< 16; i ++)
- {
- cursors[cursor_num].cursor.data[i] = shapeBuf[i * 2] << 8 | shapeBuf[i * 2 + 1];
- cursors[cursor_num].cursor.mask[i] = maskBuf[i * 2] << 8 | maskBuf[i * 2 + 1];
- }
-
- cursors[cursor_num].cursor.hotSpot.v = hotX;
- cursors[cursor_num].cursor.hotSpot.h = hotY;
-
- cursor_num++;
- }
-
- void tkSetCursor(GLint id)
- {
- int i;
-
- for(i = 0; i < cursor_num; i++)
- {
- if(cursors[i].id == id)
- {
- SetCursor(&cursors[i].cursor);
- break;
- }
- }
- }